$(function() {
	var layer=layui.layer
	var form=layui.form
	var laypage = layui.laypage;
	// 定义时间过滤器
	template.defaults.imports.dataFormat=function(date) {
		const dt=new Date(date)
		var y=dt.getFullYear()
		var m=padZero(dt.getMonth()+1)
		var d=padZero(dt.getDate())
		
		var hh=padZero(dt.getHours())
		var mm=padZero(dt.getMinutes())
		var ss=padZero(dt.getSeconds())
		
		return y+ '-'+m+'-'+d+' '+hh+':'+mm+':'+ss
	}
	// 定义补零的函数
	function padZero(n) {
		return n>9?n:'0'+n
	}
	// 定义一个查询的参数对象,将来请求数据的时候，提交到服务器
	var q={
		pagenum:1,//页码
		pagesize:2,//每页显示几条数据
		cate_id:'',//文章分类id
		state:''//文章的发布状态
	}
	initTable()
	 initCate()
	//获取文章列表数据的方法
	function initTable() {
		$.ajax({
			method:'GET',
			url:'/my/article/list',
			data:q,
			success:function(res) {
				if(res.status!==0) {
					return layer.msg('获取文章列表失败')
				}
				// 使用模板引擎渲染数据
				var htmlStr=template('tpl-table',res)
				$('tbody').html(htmlStr)
				// 调用渲染分页的方法
				renderPage(res.total)
			}
		})
	}
	// 初始化文章分类的方法
	function initCate() {
		$.ajax({
			method:'GET',
			url:'/my/article/cates',
			success:function(res) {
				if(res.status!==0) {
					return layer.msg('获取失败')
				}
				// 调用模板引擎渲染分类的可选项
				var htmlStr=template('tpl-cate',res)
				$('[name=cate_id]').html(htmlStr)
				// 通知layui重新渲染表单区的UI结构
				form.render()
			}
		})
	}
	
	// 为帅选表单绑定事件
	$('#form-search').on('submit',function(e) {
		e.preventDefault()
		// 获取表单忠选中项的值
		var cate_id=$('[name=cate_id]').val()
		var state=$('[name=state]').val()
		q.cate_id=cate_id
		q.state=state
		//根据最新的筛选条件，重新渲染表格的数据
		initTable()
	})
	
	// 定义渲染分页的方法
	function renderPage(total) {
		laypage.render({
			// 此处不能加#号
			elem:'pageBox',//分页容器的id
			count:total,//总数居条数
			limit:q.pagesize,//煤业显示多少条数据
			curr:q.pagenum,//设置默认被选中的分页
			layout:['count','limit','prev','page','next','skip'],
			limits:[2,3,5,10],
			// 分页发生切换的时候触发
			// 1.点击页码的时候会触发，
			// 2.只要使用laypage这个方法
			jump:function(obj,first) {
				// console.log(obj.curr)
				// 把最新的页码值赋值到q
				q.pagenum=obj.curr
				// 根据最新的q获取对应的数据列表再重新渲染
				// 把最新的条目数，赋值到q这个查询参数对象的pagesize中
				q.pagesize=obj.limit
				if(!first) {
					initTable()
				}
			}
		})
	}
	// 通过代理的形式为删除文章,拿到对应文章的Id值
	$('tbody').on('click','.btn-delete',function() {
		// 获取删除按钮的个数
		var len=$('.btn-delete').length
		// 获取到文章的id
		var id=$(this).attr('data-id')
		// 询问窗口
		layer.confirm('is not?', {icon: 3, title:'提示'}, function(index){
		  $.ajax({
			  method:'GET',
			  url:'/my/article/delete/'+id,
			  success:function(res) {
				  if(res.status!==0){
					  return layer.msg('删除文章失败！')
				  }
				  layer.msg('删除文章成功')
				  // 当数据删除完成后，需要判断是否还剩数据
				  // 如果没有就让页码值减1，再重新调用方法
				  if(len===1){
					  // 如果len的值等于1，证明删除完毕之后，页面上就没有任何数据了
				  // 页面值最小必须是1
				  q.pagenum=q.pagenum===1?1:q.pagenum-1
				  }
				  initTable()
			  }
		  })
		  layer.close(index);
		});
	})
})